import common from "../../../utils/common.js";
const app = getApp()
Page({

    /**
     * 页面的初始数据
     */
    data: {
        // 获取导航栏信息
        // 导航栏的高度 = 状态栏高度 + 胶囊高度 +（胶囊top - 状态栏高度）* 2 
        dhlTop: app.globalData.dhlTop,
        dhlHeight: app.globalData.dhlHeight,
        windowHeight: app.globalData.windowHeight,

        // 所有标签
        labelData: [
            // {
            //     type: 6,
            //     title: '装修情况',
            //     optionArr: [
            //         { check: false, text: '毛坯', value: '1' },
            //         { check: false, text: '简单装修', value: '6-2' },
            //         { check: false, text: '精装修', value: '6-3' },
            //         { check: false, text: '豪华装修', value: '6-4' }]
            // },
            {
                type: 7,
                title: '房屋亮点',
                optionArr: [
                    { check: false, text: '精装修', value: 0 },
                    { check: false, text: '智能家居', value: 1 },
                    { check: false, text: '房东直租', value: 2 },
                    { check: false, text: '民用水电', value: 3 },
                    { check: false, text: '有电梯', value: 4 },
                    { check: false, text: '双气', value: 5 },
                    { check: false, text: '可做饭', value: 6 },
                    { check: false, text: '可短租', value: 7 },
                    { check: false, text: '可养宠物', value: 8 },
                    { check: false, text: '带车位', value: 9 },
                    { check: false, text: '无中介费', value: 10 },
                ]
            },
            {
                type: 8,
                title: '房屋配置',
                optionArr: [
                    { check: false, text: '冰箱', value: 0 },
                    { check: false, text: '电视', value: 1 },
                    { check: false, text: '洗衣机', value: 2 },
                    { check: false, text: '热水器', value: 3 },
                    { check: false, text: '空调', value: 4 },
                    { check: false, text: '宽带', value: 5 },
                    { check: false, text: '投影', value: 6 },
                    { check: false, text: '床', value: 7 },
                    { check: false, text: '暖气', value: 8 },
                    { check: false, text: '智能门锁', value: 9 },
                    { check: false, text: '油烟机', value: 10 },
                    { check: false, text: '燃气灶', value: 11 },
                ]
            },
        ],
        // 是否有点击label,如果没有任何操作,这时点击“确定”返回到新增或编辑页，都不做标签的赋值操作
        editFlag: false,
    },

    /**
 * 点击每个选项事件
 * @param {选项} params 
 */
    labelClick: function (e) {
        // var tempArr = this.data.allSelectLabelArr;
        console.info('e=' + JSON.stringify(e))
        const type = e.currentTarget.dataset.type
        const subItem = e.currentTarget.dataset.item
        // const type = subItem.value.substring(0, subItem.value.indexOf('-'))
        console.info('valStartSub=' + type)
        var checkFlag = subItem.check;

        // 
        // console.info('wx.getStorageSync(tempLabelData)=' + JSON.stringify(wx.getStorageSync('tempLabelData')))
        var tempLabelData = wx.getStorageSync('tempLabelData').length > 0 ? wx.getStorageSync('tempLabelData') : this.data.labelData;
        // console.info('点击事件后，之前保存的tempLabelData=' + JSON.stringify(tempLabelData))


        // 多选点击
        if (type === 7) {
            var strongPointSelectedLabelArr = [];
            var strongPointSelectedValArr = [];
            common.multiGroupClickVal(strongPointSelectedLabelArr, strongPointSelectedValArr, tempLabelData[0].optionArr, checkFlag, subItem.value)
            wx.setStorageSync('strongPointSelectedLabelArr', strongPointSelectedLabelArr)
            wx.setStorageSync('strongPointSelectedValArr', strongPointSelectedValArr)
        } else if (type === 8) {
            var amenitySelectedLabelArr = [];
            var amenitySelectedValArr = [];
            common.multiGroupClickVal(amenitySelectedLabelArr, amenitySelectedValArr, tempLabelData[1].optionArr, checkFlag, subItem.value)
            wx.setStorageSync('amenitySelectedLabelArr', amenitySelectedLabelArr)
            wx.setStorageSync('amenitySelectedValArr', amenitySelectedValArr)
        }

        this.setData({
            labelData: tempLabelData,
            editFlag: true
        })
        console.info('选中赋值后tempLabelData=' + JSON.stringify(tempLabelData))
        wx.setStorageSync('tempLabelData', tempLabelData)
    },

    /**
     * 点击确定按钮
     * @param {e} params 
     */
    entryClick: function (params) {
        if (this.data.editFlag) {
            var strongPointSelectedLabelArr = wx.getStorageSync('strongPointSelectedLabelArr')
            var amenitySelectedLabelArr = wx.getStorageSync('amenitySelectedLabelArr')
            var allSelectedLabelArr = [];
            for (let i = 0; i < strongPointSelectedLabelArr.length; i++) {
                allSelectedLabelArr.push(strongPointSelectedLabelArr[i])
            }
            for (let i = 0; i < amenitySelectedLabelArr.length; i++) {
                allSelectedLabelArr.push(amenitySelectedLabelArr[i])
            }

            var pages = getCurrentPages();             //  获取页面栈
            var currPage = pages[pages.length - 1];    // 当前页面
            var prevPage = pages[pages.length - 2];    // 上一个页面
            // 每个标签行高度约为 40
            const totalItem = allSelectedLabelArr.length + 1;
            const yuNum = totalItem % 3 == 0 ? 0 : 1
            const addNum = yuNum == 0 ? 45 : 40;
            var everyLabelHeight = (totalItem / 3 + yuNum) * addNum;
            // 标签行外层高度 默认为 150 
            var groundLabelHeight = 150;
            if (everyLabelHeight < 100) {
                // 默认最低高度为 100
                everyLabelHeight = 100
            } else {
                groundLabelHeight = everyLabelHeight + 52
            }

            prevPage.setData({
                labelArr: allSelectedLabelArr,
                labelContentHeight: everyLabelHeight,
                aroundLabelContentHeight: groundLabelHeight,
                type: 1,//是1时，再打开label页不需要清缓存 
            })
        }

        this.backR(params)
    },

    /**
     * 返回上一页
     * @param {选项} params 
     */
    backR: function (params) {
        // params={"type":"backR","timeStamp":24194,"target":{"id":"","dataset":{}},"currentTarget":{"id":"","dataset":{}},"mark":{},"detail":{"params":"009009"},"mut":false}
        console.info('params=' + JSON.stringify(params))
        // console.info('prevPage.data=' + JSON.stringify(prevPage.data))
        wx.navigateBack({ delta: 1 })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        console.info('options=' + JSON.stringify(options))
        if (options.type == 0) {
            // 新增页过来的
            common.doClearStorage;
        } else if (options.type == 1) {
            // 如果是add页面第一次打开标签页，缓存是空的，不做任何处理，选过后点击确定，再进来会有缓存值（若从上面返回，则没有缓存，不处理）
            const tempLabelData = wx.getStorageSync('tempLabelData') || []
            console.info('到标签页，之前保存的tempLabelData=' + JSON.stringify(tempLabelData))
            if (tempLabelData.length > 0) {
                this.setData({ labelData: tempLabelData })
            }
        }
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
        console.info('editFlag=' + this.data.editFlag)
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})